package primitivematchmaker.data;

import java.net.URI;

/**
 * A class describing matched service.
 * @author tptak
 *
 */
public class MatchedService {
	/**
	 * Uri of service described
	 */
	private URI serviceUri;
	/**
	 * Relation between service described and the requirement
	 */
	private ConceptsRelation conceptsRelation;
	/**
	 * Measure of similarity between service described and the requirement
	 */
	private double similarityMeasure;

	/**
	 * Returns the concept relation between service described and the requirement
	 * @return concept relation
	 */
	public ConceptsRelation getConceptsRelation() {
		return conceptsRelation;
	}

	/**
	 * Sets the concept relation between service described and the requirement
	 * @param conceptsRelation concept relation
	 */
	public void setConceptsRelation(ConceptsRelation conceptsRelation) {
		this.conceptsRelation = conceptsRelation;
	}

	/**
	 * Returns the measure of similarity between service described and the requirement
	 * @return similarity measure
	 */
	public double getSimilarityMeasure() {
		return similarityMeasure;
	}

	/**
	 * Sets the measure of similarity between service described and the requirement
	 * @param similarityMeasure similarity measure
	 */
	public void setSimilarityMeasure(double similarityMeasure) {
		this.similarityMeasure = similarityMeasure;
	}

	/**
	 * Returns the URI of service described
	 * @return uri
	 */
	public URI getServiceUri() {
		return serviceUri;
	}

	/**
	 * Sets the URI of service described
	 * @param serviceUri uri
	 */
	public void setServiceUri(URI serviceUri) {
		this.serviceUri = serviceUri;
	}

	public String toString() {
		return serviceUri.toString() + " " + conceptsRelation.toString() + " "
				+ similarityMeasure;
	}
}
